package com.mlx.permission.function;

import com.mlx.permission.entity.Permission;
import com.mlx.permission.inter.Validator;

import java.util.Set;


/**
 * 功能权限验证器：
 *     确定功能权限的容器为Set类型
 *
 * @param <P> 功能权限实体类型
 */
public interface IFunctionValidator<P extends Permission> extends Validator<P, Set<String>> {

    /**
     * 判断权限的方法
     *
     * @param permissionValue 权限标识
     * @return 布尔值
     */
    boolean isHavePermission(String permissionValue);

    default boolean isNotHavePermission(String permissionValue){
        return !isHavePermission(permissionValue);
    }

}
